package com.bowos.zmado.service;

import java.awt.image.BufferedImage;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;

import com.orifine.web.ValidateCodeImage;


/**
 * @see ValidateCodeManager
 *
 */
@Service @Scope("session")
public class ValidateCodeManager {
	private ValidateCodeImage validateImage;

	/**
	 * @see ValidateCodeManager#getImage()
	 */
	public BufferedImage getImage() {
		validateImage = new ValidateCodeImage();
		return validateImage.image;
	}
	
	/**
	 * @see ValidateCodeManager#getCode()
	 */
	public String getCode(){
		if(validateImage == null){
			return null;
		}
		String code = validateImage.code;
		validateImage = null;
		return code;
	}

	/**
	 * @see ValidateCodeManager#validateCode(String)
	 */
	public boolean validateCode(String code){
		String sessionCode = getCode();
		if(code == null){
			return false;
		}
		if(code.equals(sessionCode)){
			return true;
		}
		return false;
	}
	
	/**
	 * @see ValidateCodeManager#testCode(String)
	 */
	public boolean testCode(String code){
		if(validateImage == null){
			return false;
		}
		return validateImage.code.equals(code);
	}
	
	public String forceGetCode(){
		if(validateImage == null){
			return null;
		}
		return validateImage.code;
	}
}
